package com.songlanyun.modules.appconfig.entity;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.songlanyun.common.drive.RootEntity;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * app配置表
 */
@Data
@TableName("yxt_app_config")
public class AppConfig extends RootEntity<Long, AppConfig> implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId
    private Long id;

    /**
     * 版本号ver
     */
    private String ver;

    /**
     * 名称
     */
    @NotBlank(message = "名称不能为空")
    @Length(min = 1, max = 20, message = "名称长度在1-20个字")
    private String name;

    /**
     * 版本号
     */
    @NotNull(message = "版本号不能为空")
    private Integer number;

    /**
     * 详情
     */
    private String info;

    /**
     * 安卓地址
     */
    private String androidLink;

    /**
     * ios文件
     */
    private String iosLink;

    /**
     * 大小
     */
    private String packgeSize;

    /**
     * 类型
     */
    @Length(max = 20, message = "类型不能超过20个字")
    private String type;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 下载页面的址
     */
    private String download;

    /**
     * false：弱更新
     * true：强更新
     */
    private Boolean status;

    /**
     * 积分转入功能的启用开关
     */
    private Boolean zydcIncomeEnabled;

    /**
     * 积分转出功能的启用开关
     */
    private Boolean zydcOutcomeEnabled;

    /**
     * 积分兑换余额功能的启用开关
     */
    private Boolean zydcToBalanceEnabled;

    /**
     * 转出消费额功能的启用开关
     */
    private Boolean cnhdOutcomeEnabled;

    /**
     * 积分值多少钱显示功能的启用开关
     */
    private Boolean zydcToWorthEnabled;

    @Override
    public Long getIdentity() {
        return this.getId();
    }
}
